using UnityEngine;
using System.Collections;

/// <summary>
/// /// Note: Maybe an Interface is better than an abstract Class
/// 
/// The abstract Class ClickableObject is need when the user needs to interact with gameObjects
/// </summary>
public abstract class ClickableObject : MonoBehaviour
{		
#region Abstract FunctionsS
	/// <summary>
	/// first event, finger is starting to touch
	/// sends the hit point in 3D space
	/// </summary>
	/// <param name="position">
	/// A <see cref="Vector2"/>
	/// </param>
	public abstract void BeganTouch(Vector3 position);
	
	/// <summary>
	/// finger is touching and moving
	/// sends the hit point in 3D space
	/// </summary>
	/// <param name="position">
	/// A <see cref="Vector2"/>
	/// </param>
	public abstract void MovedTouch(Vector3 position);
	
	
	/// <summary>
	/// finger stopped touching
	/// </summary>
	public abstract void EndedTouch();	
	
	
#endregion
}
